package run;

import gates.Factory;
import gates.Gate;
import gates.HadamardMatrix;
import mathtools.*;
import register.Register;

public class James_test{
	//random test class for me to just screw around me
	public static void main (String[] args){
		
		/*int numOfQubits = 3;
		Register r = new Register(numOfQubits);
		r.setElement(0, 0, new Complex(0,0));
		r.setElement(0, 2, new Complex(1,0));
		//r.setElement(0, 6, new Complex(1,0));		
		System.out.println(r.toString());
		Gate CNot = Factory.createCNot(1,2);
		CNot.apply(r);
		System.out.println(r.toString());
		*/
		
		/*//testing out bitwise AND statements
		for(int i=0;i<=7;i++){
			for (int j=0;j<=7;j++){
				System.out.println(i + "^" + j + "=" + (i^j));
			}
		}*/
		/*int a = 3;
		int b = 4;
		int c = (a>b)?1:0;
		System.out.println(c);*/
		
		/*int numOfQubits=4;
		Register r = new Register(numOfQubits);
		r.setElement(0,0,new Complex(1,0));
		r.normalise();
		System.out.println(r.toString());
		Gate Hadamard = Factory.createHadamard(0);
		Hadamard.apply(r);
		System.out.println(r.toString());
		Gate Hadamard2 = Factory.createHadamard(1);
		Hadamard2.apply(r);
		System.out.println(r.toString());
		Gate Hadamard3 = Factory.createHadamard(2);
		Hadamard3.apply(r);
		System.out.println(r.toString());
		Gate Hadamard4 = Factory.createHadamard(3);
		Hadamard4.apply(r);
		System.out.println(r.toString());*/
		
		Register r = new Register(3);
		r.setElement(0,0,new Complex(1,0));
		r.getElement(0,0).negate();
		System.out.println(r.getElement(0,0));

		
	}
}